The present invention relates to a method for controlling reading/writing of data in a secondary storage device used in a data processing system and also relates to an apparatus therefor. Particularly, it relates to a method for controlling multiple writing of identical data in a predetermined number of storage units among storage units such as disk drives included in a secondary storage device and also relates to an apparatus therefor.
Heretofore, improvement of performance of a secondary storage device has been mainly directed to increase of the storage capacity and enhancement of the data transfer rate. With the enhancement of processing time in computers, it has been directed to enhancement of input/output throughput in a secondary storage device. As one technique for enhancing the input/output throughput, a method in which identical data are written in all of a number n (in which n is an integer of two or more) of disk drives so that a data output command is given to all the disk drives at the time of reading of data to thereby make it possible to read the data from a disk drive allowed to process the data output command earliest has been proposed.
The proposed method has been disclosed in a paper written by Dina Bitton et al, University of Illinois: "DISK SHADOWING" (Dina Bitton et al, "Disk Shadowing", Processings of the 14th International Conference on Very Large Data Base, 1988, pp. 331-338) and JP-A-1-17015.
As another technique for enhancing the input/output throughput, a technique in which a plurality of disk drives are driven independently so that fractions obtained by dividing one data are respectively written in the plurality of disk drives is known. For example, as this technique, a method of RAID (Redundant Arrays of Inexpensive Disks) has been proposed by University of California, Berkeley.
The proposed method has been disclosed in a paper written by D. Patterson et al, University of California, Berkeley: "A Case for Redundant Arrays of Inexpensive Disks (RAID)" (David A. Patterson et al, "A Case of Redundant Arrays of Inexpensive Disks (RAID)", ACNSIGMOD Conference, 1988).
Also in the proposed method, a technique for enhancing reliability by using parity, ECC and so on is shown to solve a problem of lowering of reliability caused by storage of data fractions in a plurality of disk drives. That is, a technique in which correction data to correct respective data are generated by using parity, ECC or the like so that in case of occurrence of a failure in a disk drive, data in the failure disk drive can be recovered on the basis of the correction data and data remaining in normal disk drives, is shown. For example, this technique has been proposed in JP-A-2-236714.
In the former technique represented by the paper "DISK SHADOWING", there is no consideration of the input/output command waiting state of each disk drive at the time of reading/writing of identical data in a plurality of disk drives. Accordingly, if at least one of the plurality of disk drives already has a large number of input/output commands at the time of writing of identical data in the plurality of disk drives, writing of identical data will be delayed as a whole.
Furthermore, in the case of reading identical data from a plurality of disk drive, a read command is given to all the disk drives in which the identical data are stored. Accordingly, an unnecessary input/output command is additionally given to disk drives each already having a large number of input/output commands so that there is not much possibility of reading data earliest.
On the other hand, also in the latter technique represented by the paper "RAID", there is no consideration of the input/output command waiting state of each disk drive at the time of reading/writing of data in a plurality of disk drives. Furthermore, in the case of occurrence of a failure in a disk drive, specific correction data are necessary for recovering data stored in the failure disk drive.